package com.qujia.label.mapper;

import com.qujia.label.domain.LabelRule;
import com.qujia.label.domain.dto.LabelRuleDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 标签规则
Mapper接口
 * 
 * @author qujia
 * @date 2021-06-15
 */
public interface LabelRuleMapper 
{
    /**
     * 根据查询条件获取 LabelRule 列表
     *
     * @param labelRule 查询条件
     * @return LabelRule 列表
     */
    List<LabelRule> selectLabelRuleListForQ(LabelRule labelRule);
    /**
     * 查询标签规则

     * 
     * @param id 标签规则
ID
     * @return 标签规则

     */
    public LabelRule selectLabelRuleById(Integer id);

    /**
     * 查询标签规则
列表
     * 
     * @param labelRule 标签规则

     * @return 标签规则
集合
     */
    public List<LabelRule> selectLabelRuleList(LabelRule labelRule);


    public List<Long> selectEnterPriseIdList(Long authorId);

    /**
     * 新增标签规则

     * 
     * @param labelRule 标签规则

     * @return 结果
     */
    public int insertLabelRule(LabelRule labelRule);

    /**
     * 修改标签规则

     * 
     * @param labelRule 标签规则

     * @return 结果
     */
    public int updateLabelRule(LabelRule labelRule);

    /**
     * 删除标签规则

     * 
     * @param id 标签规则
ID
     * @return 结果
     */
    public int deleteLabelRuleById(Integer id);

    /**
     * 批量删除标签规则

     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteLabelRuleByIds(Integer[] ids);

    /**
     * 批量删除标签规则

     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public  int deleteCustomerLabel(Integer[] ids);

    List<LabelRule> selectByIds(@Param("ids") Integer[] ids);

    Integer selectCountAuditByIds(@Param("ids") Integer[] ids);

    int updateIsPush(LabelRuleDto labelRuleDto);
}
